package com.tbit.common.entity.vo;

import lombok.Data;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @author: qiu.longjie
 * @create: 2025-04-29
 */
@Data
public class MainLogAuditVo implements Serializable {

    /**
     * 主键id
     */
    private Integer logId;

    /**
     * 主键id 调度日志id（为了适配老接口）
     */
    private Integer dispatchLogId;

    /**
     * 主键id 换电日志id（为了适配老接口）
     */
    private Integer powerChangeLogId;

    /**
     * 状态 0 无效 1 有效
     */
    @NotNull(message = "状态不能为空。0:无效,1:有效。")
    private Integer isValid;

    /**
     * 绩效值 允许不传，如果传值则不能为负数
     */
    @Min(value = 0, message = "绩效值不能小于0")
    private BigDecimal performance;

    /**
     * 备注
     */
    @NotNull(message = "备注不能为空。")
    private String remark;

    // 兼容老接口传参方式
    public Integer getLogId() {
        if (dispatchLogId != null) {
            return dispatchLogId;
        }
        if (powerChangeLogId != null) {
            return powerChangeLogId;
        }
        return logId;
    }
}
